package com.eig.common.entity.course;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.io.Serializable;

/**
 * 课程(EduCourse)实体类
 *
 * @author makejava
 * @since 2022-12-08 19:40:04
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "edu_course")
public class EduCourse implements Serializable {
    /**
     * 课程ID
     */
    private String id;
    /**
     * 课程讲师ID
     */
    private String teacherId;
    /**
     * 课程专业ID
     */
    private String subjectId;
    /**
     * 课程专业父级ID
     */
    private String subjectParentId;
    /**
     * 课程标题
     */
    private String title;
    /**
     * 课程销售价格，设置为0则可免费观看
     */
    private Integer price;
    /**
     * 总课时
     */
    private Integer lessonNum;
    /**
     * 课程封面图片路径
     */
    private String cover;
    /**
     * 销售数量
     */
    private Integer buyCount;
    /**
     * 浏览数量
     */
    private Integer viewCount;
    /**
     * 乐观锁
     */
    private Integer version;
    /**
     * 课程状态 Draft未发布  Normal已发布
     */
    private String status;
    /**
     * 逻辑删除 1（true）已删除， 0（false）未删除
     */
    private Integer isDeleted;
    /**
     * 创建时间
     */
    private Date gmtCreate;
    /**
     * 更新时间
     */
    private Date gmtModified;
    /**
     * 课程备注
     */
    private String remark;
    /**
     * 是否添加 0 否  1 是
     */
    private Integer isAdd;

    /**
     * 课程分类
     */
    @TableField(exist = false)
    private String subjectName;
    /**
     * 课程分类id categoryId1  categoryId2 categoryId3
     */
    @TableField(exist = false)
    private String categoryId1;
    @TableField(exist = false)
    private String categoryId2;
    @TableField(exist = false)
    private String categoryId3;
    @TableField(exist = false)
    private String description;
    /**
     * 讲师电话
     */
    @TableField(exist = false)
    private String mobile;
    /**
     * 审核状态
     */
    @TableField(exist = false)
    private String checkStatus;
    /**
     * 审核驳回原因
     */
    @TableField(exist = false)
    private String checkContent;
    @TableField(exist = false)
    private Teacher teacher;

}

